package controladores;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.List;
import juego.Juego;
import juego.usuariosGuardados.Usuario;
import juego.usuariosGuardados.UsuariosGuardados;
import persistores.persistoresDeJugador.UsuariosGuardadosPersistor;
import vistas.InterfazVerPuntajes;


public class ControladorVerPuntajes extends Controlador implements ActionListener {
    private InterfazVerPuntajes vista;
    private Juego modelo;

    public ControladorVerPuntajes (InterfazVerPuntajes vista, Juego modelo) {
        this.vista = vista;
        this.modelo = modelo;
        vista.setSaludo(modelo.getJugador().getNickname());
        this.verPuntajes();
    }

    @Override
    public void actionPerformed (ActionEvent evento) {
        if (evento.getActionCommand().equals("Volver")) {
            vista.cerrar();
        }
    }
    
    private void verPuntajes() {
        UsuariosGuardadosPersistor persistor = new UsuariosGuardadosPersistor();
        
        File archivoUsuarios = new File (".\\UsuariosGuardados.xml");
        if (archivoUsuarios.exists()) {
            UsuariosGuardados usuarios = persistor.deserializar(".\\UsuariosGuardados");
            
            List<Usuario> usuariosGuardados = usuarios.getUsuarios();
            for(int indice = 0; indice < usuariosGuardados.size(); indice++){
                String nombreUsuarioGuardado = usuariosGuardados.get(indice).getNickname();
                int puntajeUsuarioGuardado = usuariosGuardados.get(indice).getPuntaje();
          
                vista.setNombre(nombreUsuarioGuardado);
                vista.setPuntaje(Integer.toString(puntajeUsuarioGuardado));
            }
        }
    }
}
